From 52c54dcbd1108d1b7e1b36b14a00be9766d06dfe Mon Sep 17 00:00:00 2001 From: "kaf24@labyrinth.cl.cam.ac.uk" Date: Wed, 26 Feb 2003 15:57:33 +0000 Subject: [PATCH] bitkeeper revision 1.103 (3e5ce3edCqQ1qazfrrTapwLSJfBo_Q) network.c, dev.c: A few more network cleanups. --- xen/net/dev.c | 6 +++--- .../arch/xeno/drivers/network/network.c | 11 ++++++----- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/xen/net/dev.c b/xen/net/dev.c index 8c0e5522e0..25aa35fd78 100644 --- a/xen/net/dev.c +++ b/xen/net/dev.c @@ -38,7 +38,7 @@ #define rtnl_lock() ((void)0) #define rtnl_unlock() ((void)0) -#if 1 +#if 0 #define DPRINTK(_f, _a...) printk(_f , ## _a) #else #define DPRINTK(_f, _a...) ((void)0) @@ -742,8 +742,8 @@ static void net_tx_action(unsigned long unused) if ( (skb = alloc_skb_nodata(GFP_ATOMIC)) == NULL ) { - add_to_net_schedule_list_tail(vif); printk("Out of memory in net_tx_action()!\n"); + tx->status = RING_STATUS_BAD_PAGE; break; } @@ -769,8 +769,8 @@ static void net_tx_action(unsigned long unused) /* Transmit should always work, or the queue would be stopped. */ if ( dev->hard_start_xmit(skb, dev) != 0 ) { - add_to_net_schedule_list_tail(vif); printk("Weird failure in hard_start_xmit!\n"); + kfree_skb(skb); break; } } diff --git a/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/network/network.c b/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/network/network.c index 4c4ace1006..8e742007cf 100644 --- a/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/network/network.c +++ b/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/network/network.c @@ -220,7 +220,7 @@ static void network_free_rx_buffers(struct net_device *dev) for ( i = np->rx_idx; i != np->net_ring->rx_prod; i = RX_RING_INC(i) ) { skb = np->rx_skb_ring[i]; - dev_kfree_skb(skb); + dev_kfree_skb_any(skb); } } @@ -228,10 +228,10 @@ static int network_start_xmit(struct sk_buff *skb, struct net_device *dev) { unsigned int i; struct net_private *np = (struct net_private *)dev->priv; - + if ( np->tx_full ) { - printk(KERN_WARNING "%s: full queue wasn't stopped!\n", dev->name); + printk(KERN_ALERT "%s: full queue wasn't stopped!\n", dev->name); netif_stop_queue(dev); return -ENOBUFS; } @@ -239,10 +239,11 @@ static int network_start_xmit(struct sk_buff *skb, struct net_device *dev) if ( (((unsigned long)skb->data & ~PAGE_MASK) + skb->len) >= PAGE_SIZE ) { - struct sk_buff *new_skb = alloc_skb(RX_BUF_SIZE, GFP_KERNEL); + struct sk_buff *new_skb = dev_alloc_skb(RX_BUF_SIZE); + if ( new_skb == NULL ) return 1; skb_put(new_skb, skb->len); memcpy(new_skb->data, skb->data, skb->len); - kfree_skb(skb); + dev_kfree_skb(skb); skb = new_skb; } -- 2.30.2